<?php
//Ultima verificacion: 12-10-2014 ; 21-11-2014 ; 20-02-2015
class M_tiempoasignabledivision extends CI_Model {
	function _construct(){
		//Call the Model constructor
		parent::_construct();
	}
	
	//Este metodo se utiliza cuando queremos obtener los tiempos asignables activos de una division.
	//Se utiliza al importar ciclos lectivos para devolver las restricciones de una division.
	function buscarActivos($restriccion=null){
		$consulta = $this->db->query("SELECT tiempoasignabledivision.*, 
											DATE_FORMAT(tiempoasignabledivision.fechaCreacion,'%d/%m/%Y %H:%i:%s') AS fechaCreacionFormateada, 
											DATE_FORMAT(tiempoasignabledivision.fechaUltimaModificacion,'%d/%m/%Y %H:%i:%s') AS fechaUltimaModificacionFormateada
									  FROM tiempoasignabledivision
									  WHERE	tiempoasignabledivision.estado=1 $restriccion
									  ORDER BY idTiempoAsignable");
		return($consulta);
	}
	
	//Este metodo se utiliza para crear un un tiempo asignable
	function crear($idDivision=null, $idTurno=null, $dia=null, $periodo=null, $disponibilidad=null, $estado=null, $idCreador=null){
		$this->db->query("INSERT INTO `tiempoasignabledivision` (`idTiempoAsignable`,`idTurno`,`idDivision`,`dia`,`periodo`,`disponibilidad`,`fechaCreacion`,`estado`,`idCreador`) VALUES 
														        (NULL,".$this->db->escape($idTurno).",".$this->db->escape($idDivision).",".$this->db->escape($dia).",".$this->db->escape($periodo).",".$this->db->escape($disponibilidad).",now(),".$this->db->escape($estado).",".$this->db->escape($idCreador).")");
		return($this->db->affected_rows());
	}
	
	//Este metodo se utiliza cuando queremos devolver un tiempo asignable segun la division, turno, dia y periodo(modulo).
	function get2($idDivision=null, $idTurno=null, $dia=null, $periodo=null){
		$consulta = $this->db->query("SELECT tiempoasignabledivision.*
									  FROM tiempoasignabledivision
									  WHERE tiempoasignabledivision.estado<>-1 AND 
											tiempoasignabledivision.idDivision=".$this->db->escape($idDivision)." AND 
											tiempoasignabledivision.idTurno=".$this->db->escape($idTurno)." AND 
											tiempoasignabledivision.dia=".$this->db->escape($dia)." AND
											tiempoasignabledivision.periodo=".$this->db->escape($periodo)."
									  LIMIT 1");
		return($consulta);
	}
	
	//Este metodo se utiliza para modificar un tiempo asignable
	function modificar($idTiempoAsignable=null, $disponibilidad=null, $estado=null){
		$consulta = $this->db->query("UPDATE `tiempoasignabledivision`
									 SET `disponibilidad` = ". $this->db->escape($disponibilidad) .",
										 `estado` = ". $this->db->escape($estado) ."
							         WHERE `tiempoasignabledivision`.`idTiempoAsignable` = " . $this->db->escape($idTiempoAsignable) . " LIMIT 1");
		return($this->db->affected_rows());
	}
}
?>